package com.hxzy.source.entity.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxzy.source.entity.TtSourceOperation;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class SourceVo {

    @ApiModelProperty(value = "货源编号")
    private String sourceId;


    @ApiModelProperty(value = "货物名称")
    private String goodsName;


    @ApiModelProperty(value = "装车站点编号")
    private String loadingSiteId;

    @ApiModelProperty(value = "装车站点位置")
    private String loadingAddress;

    @ApiModelProperty(value = "卸车站点编号")
    private String unloadingSiteId;

    @ApiModelProperty(value = "卸车站点位置")
    private String unloadingAddress;

    @ApiModelProperty(value = "发货总量（吨）")
    private Double goodsTotal;

    @ApiModelProperty(value = "专属车队编号")
    @TableField("exclusive_carTeam_id")
    private String exclusiveCarteamId;

    @ApiModelProperty(value = "装货量")
    private Double loadingCount;

    @ApiModelProperty(value = "卸货量")
    private Double unloadingCount;

    @ApiModelProperty(value = "亏吨扣费")
    private BigDecimal lossCost;

    @ApiModelProperty(value = "结算主体编号")
    private String settlerId;

    @ApiModelProperty(value = "供应商名称")
    private String vendorName;

    @ApiModelProperty(value = "货物余量")
    private Double goodsHeadroom;

    @ApiModelProperty(value = "服务费率")
    private Double serviceRate;

    @ApiModelProperty(value = "运价")
    private BigDecimal sourceFreight;

    @ApiModelProperty(value = "含税运价")
    private BigDecimal sourceFreightTax;

    @ApiModelProperty(value = "货源状态")
    private Integer sourceStatus;

    @TableField(exist =false)
    private String sourceStatusName;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date postsTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "待装车")
    private Long toBeLoadedCount;

    @ApiModelProperty(value = "待卸车")
    private Long toBeUnloaded;

    @ApiModelProperty(value = "已装车")
    private Long loadedCount;

    @ApiModelProperty(value = "已结车")
    private Long completedCount;

    @ApiModelProperty(value = "已取消")
    private Long canceledCount;

    @ApiModelProperty(value = "已付款")
    private Long paidCount;

    private List<TtSourceOperation>operateList;









}
